Apache POI হল একটি শক্তিশালী লাইব্রেরি যা Java-এ মাইক্রোসফট অফিস ফাইল ফরম্যাটগুলি (যেমন Excel, Word, PowerPoint) প্রক্রিয়া করতে ব্যবহৃত হয়। PowerPoint ফাইলগুলির মধ্যে টেক্সট ম্যানিপুলেশন করার জন্য Apache POI ব্যবহার করে আপনি সহজেই টেক্সট যোগ, সম্পাদনা এবং ফরম্যাট করতে পারেন। POI-এর XSLF (PowerPoint 2007 এবং পরবর্তী সংস্করণের জন্য) এবং HSLF (PowerPoint 97-2003 সংস্করণের জন্য) দুটি API পাওয়া যায় যা PowerPoint ফাইলের টেক্সট ম্যানিপুলেশন করতে ব্যবহৃত হয়। এখানে আমরা XSLF API দিয়ে টেক্সট ম্যানিপুলেশন দেখাব।
XSLF API এর মাধ্যমে আপনি PowerPoint প্রেজেন্টেশনে স্লাইডে টেক্সট যোগ করতে, টেক্সট ফরম্যাট করতে এবং টেক্সট পরিবর্তন করতে পারেন।
import org.apache.poi.xslf.usermodel.*;
import java.io.*;
public class PowerPointTextManipulation {
public static void main(String[] args) throws IOException {
// PowerPoint প্রেজেন্টেশন তৈরি করুন
XMLSlideShow ppt = new XMLSlideShow();
// একটি স্লাইড তৈরি করুন
XSLFSlide slide = ppt.createSlide();
// স্লাইডে একটি টেক্সট বক্স তৈরি করুন
XSLFTextBox textBox = slide.createTextBox();
XSLFTextParagraph paragraph = textBox.addNewTextParagraph();
paragraph.addNewTextRun().setText("Hello, Apache POI!"); // টেক্সট যোগ করুন
// ফাইল সংরক্ষণ করুন
try (FileOutputStream out = new FileOutputStream("PowerPointWithText.pptx")) {
ppt.write(out);
}
System.out.println("PowerPoint ফাইল তৈরি হয়েছে এবং টেক্সট যোগ করা হয়েছে!");
}
}
XSLF API ব্যবহার করে আপনি PowerPoint স্লাইডে টেক্সটের ফন্ট, আকার এবং স্টাইল কাস্টমাইজ করতে পারেন। যেমন, আপনি টেক্সটের আকার বাড়াতে, ফন্ট পরিবর্তন করতে এবং রঙ যোগ করতে পারেন।
import org.apache.poi.xslf.usermodel.*;
import org.apache.poi.sl.usermodel.TextParagraph;
import org.apache.poi.sl.usermodel.TextRun;
import java.io.*;
public class PowerPointTextFormatting {
public static void main(String[] args) throws IOException {
// PowerPoint প্রেজেন্টেশন তৈরি করুন
XMLSlideShow ppt = new XMLSlideShow();
// একটি স্লাইড তৈরি করুন
XSLFSlide slide = ppt.createSlide();
// স্লাইডে একটি টেক্সট বক্স তৈরি করুন
XSLFTextBox textBox = slide.createTextBox();
XSLFTextParagraph paragraph = textBox.addNewTextParagraph();
// টেক্সট যোগ করুন
XSLFTextRun textRun = paragraph.addNewTextRun();
textRun.setText("Hello, Apache POI!"); // টেক্সট যোগ করা
// ফন্ট এবং আকার পরিবর্তন
textRun.setFontFamily("Arial");
textRun.setFontSize(24.0);
textRun.setBold(true);
textRun.setItalic(true);
// রঙ পরিবর্তন
textRun.setFontColor(java.awt.Color.RED);
// ফাইল সংরক্ষণ করুন
try (FileOutputStream out = new FileOutputStream("FormattedPowerPoint.pptx")) {
ppt.write(out);
}
System.out.println("PowerPoint ফাইল তৈরি হয়েছে এবং টেক্সট ফরম্যাট করা হয়েছে!");
}
}
NiFi এর XSLFTextParagraph এবং XSLFTextRun ব্যবহার করে টেক্সট প্যারাগ্রাফ এবং লাইনের ফরম্যাটিং করতে পারবেন।
import org.apache.poi.xslf.usermodel.*;
import org.apache.poi.sl.usermodel.TextParagraph;
import org.apache.poi.sl.usermodel.TextRun;
import java.io.*;
public class PowerPointTextParagraphFormatting {
public static void main(String[] args) throws IOException {
// PowerPoint প্রেজেন্টেশন তৈরি করুন
XMLSlideShow ppt = new XMLSlideShow();
// একটি স্লাইড তৈরি করুন
XSLFSlide slide = ppt.createSlide();
// স্লাইডে একটি টেক্সট বক্স তৈরি করুন
XSLFTextBox textBox = slide.createTextBox();
XSLFTextParagraph paragraph1 = textBox.addNewTextParagraph();
paragraph1.addNewTextRun().setText("First Line - Bold and Red"); // প্রথম লাইন টেক্সট যোগ করুন
XSLFTextRun run1 = paragraph1.getTextRuns().get(0);
run1.setFontSize(16.0);
run1.setBold(true);
run1.setFontColor(java.awt.Color.RED);
XSLFTextParagraph paragraph2 = textBox.addNewTextParagraph();
paragraph2.addNewTextRun().setText("Second Line - Italic and Blue"); // দ্বিতীয় লাইন টেক্সট
XSLFTextRun run2 = paragraph2.getTextRuns().get(0);
run2.setFontSize(16.0);
run2.setItalic(true);
run2.setFontColor(java.awt.Color.BLUE);
// ফাইল সংরক্ষণ করুন
try (FileOutputStream out = new FileOutputStream("FormattedParagraphPowerPoint.pptx")) {
ppt.write(out);
}
System.out.println("PowerPoint ফাইল তৈরি হয়েছে এবং টেক্সট প্যারাগ্রাফ ফরম্যাট করা হয়েছে!");
}
}
XSLF API দিয়ে আপনি PowerPoint স্লাইডে হাইপারলিঙ্কও যোগ করতে পারেন, যা সাধারণত URL বা নির্দিষ্ট স্লাইডে লিঙ্ক করার জন্য ব্যবহৃত হয়।
import org.apache.poi.xslf.usermodel.*;
import java.io.*;
public class PowerPointHyperlink {
public static void main(String[] args) throws IOException {
// PowerPoint প্রেজেন্টেশন তৈরি করুন
XMLSlideShow ppt = new XMLSlideShow();
// একটি স্লাইড তৈরি করুন
XSLFSlide slide = ppt.createSlide();
// স্লাইডে একটি টেক্সট বক্স তৈরি করুন
XSLFTextBox textBox = slide.createTextBox();
XSLFTextParagraph paragraph = textBox.addNewTextParagraph();
XSLFTextRun textRun = paragraph.addNewTextRun();
textRun.setText("Click here to visit Apache POI website.");
// টেক্সট এর মধ্যে হাইপারলিঙ্ক যোগ করুন
textRun.setHyperlink("https://poi.apache.org/");
// ফাইল সংরক্ষণ করুন
try (FileOutputStream out = new FileOutputStream("HyperlinkPowerPoint.pptx")) {
ppt.write(out);
}
System.out.println("PowerPoint ফাইল তৈরি হয়েছে এবং হাইপারলিঙ্ক যোগ করা হয়েছে!");
}
}
Apache POI এর XSLF API ব্যবহারে PowerPoint ফাইলে টেক্সট ম্যানিপুলেশন করা খুবই সহজ। আপনি PowerPoint স্লাইডে টেক্সট যোগ করতে পারেন, টেক্সটের ফন্ট, আকার এবং স্টাইল পরিবর্তন করতে পারেন, টেক্সট প্যারাগ্রাফের মধ্যে বিভিন্ন ফরম্যাট করতে পারেন, এবং এমনকি হাইপারলিঙ্কও যোগ করতে পারেন। এই API অত্যন্ত নমনীয় এবং আধুনিক PowerPoint ফাইল (PPTX) তৈরি ও সম্পাদনা করার জন্য অত্যন্ত কার্যকরী।
Apache POI লাইব্রেরি ব্যবহার করে আপনি PowerPoint ফাইলের স্লাইডে TextBox তৈরি করতে পারেন। এটি PowerPoint ফাইল তৈরি এবং সম্পাদনা করার জন্য একটি গুরুত্বপূর্ণ বৈশিষ্ট্য। এখানে, আমরা দেখব কিভাবে Apache POI এর মাধ্যমে PPTX ফাইলে TextBox তৈরি করা যায়।
এখানে আমরা XSLF API ব্যবহার করব, কারণ এটি PPTX (নতুন PowerPoint ফাইল ফরম্যাট) ফাইলের জন্য ব্যবহৃত হয়।
import org.apache.poi.xslf.usermodel.XMLSlideShow;
import org.apache.poi.xslf.usermodel.XSLFSlide;
import org.apache.poi.xslf.usermodel.XSLFTextBox;
import org.apache.poi.xslf.usermodel.XSLFTextShape;
import java.io.FileOutputStream;
import java.io.IOException;
public class CreateTextBoxInPPTX {
public static void main(String[] args) {
try {
// নতুন PowerPoint স্লাইডশো তৈরি করা
XMLSlideShow ppt = new XMLSlideShow();
// একটি স্লাইড তৈরি করা
XSLFSlide slide = ppt.createSlide();
// স্লাইডে টেক্সট বক্স তৈরি করা
XSLFTextBox textBox = slide.createTextBox();
XSLFTextShape shape = textBox;
shape.setText("Hello, Apache POI! This is a TextBox on PowerPoint!");
// PowerPoint ফাইল সেভ করা
try (FileOutputStream out = new FileOutputStream("example.pptx")) {
ppt.write(out);
}
System.out.println("PowerPoint presentation with TextBox created successfully.");
} catch (IOException e) {
e.printStackTrace();
}
}
}
.setText()
মেথডের মাধ্যমে আপনি টেক্সট সেট করতে পারেন।এটি একটি .pptx ফাইল তৈরি করবে এবং তার মধ্যে একটি স্লাইড থাকবে, যেখানে "Hello, Apache POI! This is a TextBox on PowerPoint!" টেক্সট থাকবে।
যদি আপনি টেক্সট বক্সের আকার এবং অবস্থান পরিবর্তন করতে চান, তাহলে আপনি setAnchor মেথড ব্যবহার করতে পারেন। এই মেথডের মাধ্যমে আপনি টেক্সট বক্সের অবস্থান এবং আকার নির্ধারণ করতে পারেন।
import org.apache.poi.xslf.usermodel.XMLSlideShow;
import org.apache.poi.xslf.usermodel.XSLFSlide;
import org.apache.poi.xslf.usermodel.XSLFTextBox;
import org.apache.poi.xslf.usermodel.XSLFTextShape;
import java.io.FileOutputStream;
import java.io.IOException;
import java.awt.Rectangle;
public class CreateTextBoxWithPosition {
public static void main(String[] args) {
try {
// নতুন PowerPoint স্লাইডশো তৈরি করা
XMLSlideShow ppt = new XMLSlideShow();
// একটি স্লাইড তৈরি করা
XSLFSlide slide = ppt.createSlide();
// স্লাইডে টেক্সট বক্স তৈরি করা
XSLFTextBox textBox = slide.createTextBox();
XSLFTextShape shape = textBox;
shape.setText("Hello, Apache POI! This is a TextBox with position!");
// টেক্সট বক্সের অবস্থান এবং আকার নির্ধারণ করা (x, y, width, height)
textBox.setAnchor(new Rectangle(100, 100, 400, 50)); // x, y, width, height
// PowerPoint ফাইল সেভ করা
try (FileOutputStream out = new FileOutputStream("example_with_position.pptx")) {
ppt.write(out);
}
System.out.println("PowerPoint presentation with positioned TextBox created successfully.");
} catch (IOException e) {
e.printStackTrace();
}
}
}
Rectangle
কনস্ট্রাকটর দ্বারা টেক্সট বক্সের সঠিক পজিশন এবং আকার সেট করা হয়।এটি একটি PowerPoint ফাইল তৈরি করবে যেখানে একটি স্লাইড থাকবে এবং সেই স্লাইডে একটি টেক্সট বক্স নির্দিষ্ট অবস্থানে থাকবে।
Apache POI লাইব্রেরি ব্যবহার করে আপনি সহজেই PowerPoint ফাইলে TextBox তৈরি করতে পারেন এবং সেটির মধ্যে টেক্সট যোগ করতে পারেন। আপনি চাইলে TextBox এর আকার এবং অবস্থানও কাস্টমাইজ করতে পারবেন, যা আপনার প্রয়োজন অনুযায়ী একটি কাস্টম স্লাইড তৈরি করতে সহায়ক। POI এর XSLF API ব্যবহার করে আপনি নতুন .pptx ফাইল তৈরি করতে এবং PowerPoint কন্টেন্ট পরিবর্তন করতে পারবেন।
Apache POI লাইব্রেরি ব্যবহার করে আপনি PowerPoint ফাইলের টেক্সটকে ফরম্যাট করতে পারেন, যেমন ফন্ট, সাইজ, রঙ ইত্যাদি। এটি HSLF (PPT) এবং XSLF (PPTX) API এর মাধ্যমে করা যায়। এই গাইডে আমরা দেখব কিভাবে টেক্সট ফরম্যাটিং যেমন ফন্ট, সাইজ এবং রঙ PowerPoint স্লাইডে ব্যবহার করা যায়।
PowerPoint 2003 (PPT) ফাইলের জন্য HSLF API ব্যবহার করা হয়। নিচে একটি উদাহরণ দেওয়া হলো যেখানে PowerPoint স্লাইডে টেক্সটের ফন্ট, সাইজ এবং রঙ সেট করা হচ্ছে:
import org.apache.poi.hslf.usermodel.*;
import java.awt.Color;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class PowerPointTextFormatting {
public static void main(String[] args) throws IOException {
// বিদ্যমান PowerPoint ফাইল লোড করা
FileInputStream inputStream = new FileInputStream("existing.ppt");
HSLFSlideShow ppt = new HSLFSlideShow(inputStream);
// স্লাইড নির্বাচন করা
HSLFSlide slide = ppt.getSlides().get(0);
// টেক্সট বক্স তৈরি করা
HSLFTextBox title = new HSLFTextBox();
title.setText("Formatted Text Example");
// টেক্সট ফরম্যাটিং
title.setFontSize(24.0); // Font Size
title.setFontColor(new Color(255, 0, 0)); // Font Color (Red)
title.setFont("Arial"); // Font Family
// স্লাইডে টেক্সট বক্স যোগ করা
title.setAnchor(new java.awt.Rectangle(100, 100, 400, 50));
slide.addShape(title);
// ফাইল সংরক্ষণ করা
FileOutputStream out = new FileOutputStream("formatted.ppt");
ppt.write(out);
out.close();
System.out.println("PowerPoint ফাইল ফরম্যাট করা হয়েছে!");
}
}
এই কোডটি একটি PowerPoint স্লাইডে "Formatted Text Example" টেক্সট যোগ করবে এবং এর ফন্ট সাইজ, রঙ এবং ফন্ট ফ্যামিলি সেট করবে।
PowerPoint 2007 এবং পরবর্তী সংস্করণের জন্য XSLF API ব্যবহার করা হয়। নিচে একটি উদাহরণ দেওয়া হলো যেখানে PowerPoint 2007 বা তার পরবর্তী সংস্করণে (PPTX) টেক্সটের ফন্ট, সাইজ এবং রঙ সেট করা হচ্ছে।
import org.apache.poi.xslf.usermodel.*;
import java.awt.Color;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class PowerPointTextFormattingPPTX {
public static void main(String[] args) throws IOException {
// বিদ্যমান PowerPoint ফাইল লোড করা
FileInputStream inputStream = new FileInputStream("existing.pptx");
XMLSlideShow ppt = new XMLSlideShow(inputStream);
// স্লাইড নির্বাচন করা
XSLFSlide slide = ppt.getSlides().get(0);
// টেক্সট বক্স তৈরি করা
XSLFTextBox title = slide.createTextBox();
title.setText("Formatted Text Example");
// টেক্সট ফরম্যাটিং
title.setFontSize(24.0); // Font Size
title.setFontColor(new Color(255, 0, 0)); // Font Color (Red)
title.setFont("Arial"); // Font Family
// স্লাইডে টেক্সট বক্স যোগ করা
title.setAnchor(new java.awt.Rectangle(100, 100, 400, 50));
// ফাইল সংরক্ষণ করা
FileOutputStream out = new FileOutputStream("formatted.pptx");
ppt.write(out);
out.close();
System.out.println("PowerPoint ফাইল ফরম্যাট করা হয়েছে!");
}
}
এটি একটি PowerPoint স্লাইডে "Formatted Text Example" টেক্সট যোগ করবে এবং তার ফন্ট সাইজ, রঙ এবং ফন্ট ফ্যামিলি সেট করবে। এতে টেক্সটের রঙ রেড (255, 0, 0) সেট করা হয়েছে।
আপনি setFontColor মেথড ব্যবহার করে PowerPoint স্লাইডে টেক্সটের রঙ নির্ধারণ করতে পারেন। উদাহরণস্বরূপ, রঙ Red (255, 0, 0) হতে পারে, অথবা আপনি Color.decode("#HEXCODE") ব্যবহার করে কাস্টম রঙও সেট করতে পারেন।
title.setFontColor(new Color(255, 0, 0)); // Red Color
// অথবা
title.setFontColor(Color.decode("#00FF00")); // Green Color using HEX
ফন্ট সাইজ: আপনি setFontSize মেথড ব্যবহার করে টেক্সটের সাইজ পরিবর্তন করতে পারেন।
title.setFontSize(18.0); // Font Size 18
ফন্ট পরিবর্তন: আপনি setFont মেথড ব্যবহার করে টেক্সটের ফন্ট ফ্যামিলি পরিবর্তন করতে পারেন।
title.setFont("Times New Roman"); // Font Family
PowerPoint স্লাইডে টেক্সট বোল্ড, ইটালিক বা আন্ডারলাইন করতে XSLF বা HSLF API এর RichTextRun ব্যবহার করতে হয়। নিচে একটি উদাহরণ:
import org.apache.poi.xslf.usermodel.*;
import org.apache.poi.sl.usermodel.TextParagraph;
import java.io.FileOutputStream;
import java.io.IOException;
public class PowerPointTextStyleExample {
public static void main(String[] args) throws IOException {
// নতুন PowerPoint তৈরি করা
XMLSlideShow ppt = new XMLSlideShow();
// স্লাইড তৈরি করা
XSLFSlide slide = ppt.createSlide();
// টেক্সট বক্স তৈরি করা
XSLFTextBox textBox = slide.createTextBox();
XSLFTextParagraph p = textBox.addNewTextParagraph();
XSLFTextRun r = p.addNewTextRun();
r.setText("Bold, Italic, and Underlined Text");
// ফন্ট স্টাইল সেট করা
r.setBold(true); // বোল্ড
r.setItalic(true); // ইটালিক
r.setUnderline(true); // আন্ডারলাইন
// ফাইল সংরক্ষণ করা
FileOutputStream out = new FileOutputStream("formatted_text_style.pptx");
ppt.write(out);
out.close();
System.out.println("PowerPoint ফাইল ফরম্যাট করা হয়েছে!");
}
}
এটি PowerPoint স্লাইডে "Bold, Italic, and Underlined Text" যোগ করবে এবং সেই টেক্সটের ফন্ট স্টাইল বোল্ড, ইটালিক এবং আন্ডারলাইন করবে।
Apache POI এর XSLF এবং HSLF API ব্যবহার করে PowerPoint স্লাইডে টেক্সট ফরম্যাটিং করা সম্ভব। আপনি ফন্ট সাইজ, ফন্ট ফ্যামিলি, রঙ, বোল্ড, ইটালিক এবং আন্ডারলাইন স্টাইলসহ বিভিন্ন ফরম্যাটিং অপশন ব্যবহার করতে পারেন। এর মাধ্যমে আপনি PowerPoint ফাইলের কন্টেন্ট কাস্টমাইজ এবং স্টাইলিশ করতে পারেন।
অ্যাপাচি পিওআই (Apache POI) লাইব্রেরি ব্যবহার করে PowerPoint ফাইল (.pptx) তৈরি এবং সম্পাদনা করা যায়। PowerPoint স্লাইডে bullets এবং numbering যোগ করা একটি সাধারণ প্রয়োগ। এটি ব্যবহারকারীকে স্লাইডে তালিকা তৈরি করতে এবং সাজানো (ordered) বা অগণিত (unordered) তালিকা তৈরি করতে সহায়ক।
এই টিউটোরিয়ালে, আমরা দেখাবো কীভাবে অ্যাপাচি পিওআই ব্যবহার করে PowerPoint স্লাইডে bullets এবং numbering যুক্ত করা যায়।
Maven বা Gradle ব্যবহার করে অ্যাপাচি পিওআই ডিপেনডেন্সি যুক্ত করা প্রয়োজন।
Maven Dependency:
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>5.2.3</version> <!-- সর্বশেষ সংস্করণ -->
</dependency>
Gradle Dependency:
dependencies {
implementation 'org.apache.poi:poi-ooxml:5.2.3' // সর্বশেষ সংস্করণ
}
PowerPoint স্লাইডে bulleted lists তৈরি করতে, আমরা XSLFTextShape
ব্যবহার করবো, যা setText()
মেথডের মাধ্যমে টেক্সট যোগ করে এবং bulleted style সেট করতে সাহায্য করবে।
import org.apache.poi.xslf.usermodel.*;
import java.io.FileOutputStream;
import java.io.IOException;
public class BulletPointExample {
public static void main(String[] args) throws IOException {
XMLSlideShow ppt = new XMLSlideShow();
// স্লাইড তৈরি করা
XSLFSlide slide = ppt.createSlide();
// Bullet list তৈরি করা
XSLFTextBox textBox = slide.createTextBox();
XSLFTextParagraph paragraph = textBox.addNewTextParagraph();
// Bullet style সেট করা
paragraph.setBullet(true);
paragraph.setBulletStyle(BulletStyle.SYMBOL);
paragraph.setBulletCharacter((char) 8226); // • (Bullet character)
// Bulleted list items যোগ করা
XSLFTextRun run1 = paragraph.addNewTextRun();
run1.setText("First bullet point");
XSLFTextParagraph paragraph2 = textBox.addNewTextParagraph();
paragraph2.setBullet(true);
paragraph2.setBulletCharacter((char) 8226);
XSLFTextRun run2 = paragraph2.addNewTextRun();
run2.setText("Second bullet point");
// PowerPoint ফাইল তৈরি করা
FileOutputStream out = new FileOutputStream("bulleted_list.pptx");
ppt.write(out);
out.close();
ppt.close();
}
}
setBullet(true)
মেথডের মাধ্যমে বুলেট পয়েন্ট সক্রিয় করা হয়।PowerPoint স্লাইডে numbered lists (সংখ্যা দিয়ে তালিকা) তৈরি করতে, একইভাবে XSLFTextParagraph ব্যবহার করা হয়, তবে এখানে numbering ফিচার ব্যবহার করতে হবে।
import org.apache.poi.xslf.usermodel.*;
import java.io.FileOutputStream;
import java.io.IOException;
public class NumberedListExample {
public static void main(String[] args) throws IOException {
XMLSlideShow ppt = new XMLSlideShow();
// স্লাইড তৈরি করা
XSLFSlide slide = ppt.createSlide();
// Numbered list তৈরি করা
XSLFTextBox textBox = slide.createTextBox();
XSLFTextParagraph paragraph = textBox.addNewTextParagraph();
// Numbering style সেট করা
paragraph.setNumbered(true);
paragraph.setNumberingStart(1); // Numbering শুরু হবে ১ থেকে
// Numbered list items যোগ করা
XSLFTextRun run1 = paragraph.addNewTextRun();
run1.setText("First numbered item");
XSLFTextParagraph paragraph2 = textBox.addNewTextParagraph();
paragraph2.setNumbered(true);
paragraph2.setNumberingStart(2); // পরবর্তী আইটেমের জন্য ২ থেকে শুরু হবে
XSLFTextRun run2 = paragraph2.addNewTextRun();
run2.setText("Second numbered item");
// PowerPoint ফাইল তৈরি করা
FileOutputStream out = new FileOutputStream("numbered_list.pptx");
ppt.write(out);
out.close();
ppt.close();
}
}
paragraph.setNumbered(true)
এর মাধ্যমে numbering সক্রিয় করা হয়।setNumberingStart(1)
মেথড ব্যবহার করে numbering শুরু করার সংখ্যা নির্ধারণ করা হয়।setNumberingStart(2)
দিয়ে সংখ্যার পরবর্তী ক্রম সেট করা হয়।বৈশিষ্ট্য | Bulleted List | Numbered List |
---|---|---|
এনভেলপ | একক চিহ্ন (•) দ্বারা প্রতিটি আইটেম শুরু হয় | সংখ্যার মাধ্যমে প্রতিটি আইটেম শুরু হয় |
ব্যবহার | আনঅর্ডারড তালিকা (unordered list) | অর্ডারড তালিকা (ordered list) |
কনফিগারেশন | paragraph.setBullet(true) | paragraph.setNumbered(true) |
স্টাইল | BulletStyle.SYMBOL বা BulletStyle.NUMBER | setNumberingStart() দিয়ে সংখ্যা নির্ধারণ |
অ্যাপাচি পিওআই (Apache POI) ব্যবহার করে PowerPoint স্লাইডে bullets এবং numbering তালিকা যোগ করা সহজ। XSLFTextParagraph এর setBullet(true)
এবং setNumbered(true)
মেথড ব্যবহার করে আপনি বুলেট এবং নম্বরযুক্ত তালিকা তৈরি করতে পারেন। এগুলি PowerPoint প্রেজেন্টেশনে তালিকা তৈরি করতে ব্যবহৃত হয়, যা প্রেজেন্টেশনের কনটেন্ট আরও সুসংগঠিত এবং পাঠযোগ্য করে তোলে।
অ্যাপাচি পিওআই (Apache POI) Java ভিত্তিক একটি লাইব্রেরি যা মাইক্রোসফট অফিস ফাইলগুলির সাথে কাজ করার জন্য ব্যবহৃত হয়। PowerPoint (.ppt এবং .pptx) ফাইলের মধ্যে টেক্সটের অ্যালাইনমেন্ট এবং প্যারাগ্রাফ ফরম্যাটিং অ্যাপ্লাই করার জন্য, Apache POI এর XSLF (নতুন .pptx
ফাইল) এবং HSLF (পুরোনো .ppt
ফাইল) মডিউল ব্যবহার করা যেতে পারে।
এই গাইডে আমরা দেখব কিভাবে Apache POI ব্যবহার করে PowerPoint ফাইলের টেক্সট অ্যালাইনমেন্ট এবং প্যারাগ্রাফ ফরম্যাটিং সম্পাদনা করা যায়।
Apache POI XSLF মডিউলটি .pptx
ফাইল ফরম্যাটের জন্য ব্যবহৃত হয়। আপনি XSLF ব্যবহার করে PowerPoint স্লাইডে টেক্সটের অ্যালাইনমেন্ট এবং প্যারাগ্রাফ ফরম্যাটিং করতে পারবেন।
প্রথমে আপনার Maven প্রোজেক্টে Apache POI এর poi-ooxml
ডিপেনডেন্সি যোগ করুন:
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>5.2.3</version> <!-- NiFi ব্যবহারকারীর নির্দিষ্ট ভার্সন চেক করুন -->
</dependency>
import org.apache.poi.xslf.usermodel.XMLSlideShow;
import org.apache.poi.xslf.usermodel.XSLFSlide;
import org.apache.poi.xslf.usermodel.XSLFTextBox;
import org.apache.poi.xslf.usermodel.XSLFTextParagraph;
import org.apache.poi.xslf.usermodel.XSLFTextRun;
import java.awt.Rectangle;
import java.io.FileOutputStream;
import java.io.IOException;
public class PowerPointTextFormatting {
public static void main(String[] args) throws IOException {
// নতুন PowerPoint প্রেজেন্টেশন তৈরি
XMLSlideShow ppt = new XMLSlideShow();
// একটি স্লাইড তৈরি করা
XSLFSlide slide = ppt.createSlide();
// স্লাইডে টেক্সট বক্স তৈরি করা
XSLFTextBox textBox = slide.createTextBox();
textBox.setAnchor(new Rectangle(100, 100, 400, 200));
// প্যারাগ্রাফ ফরম্যাটিং সেট করা
XSLFTextParagraph paragraph = textBox.addNewTextParagraph();
paragraph.setAlignment(org.apache.poi.sl.usermodel.TextParagraph.Alignment.CENTER); // টেক্সট সেন্টার অ্যালাইনমেন্ট
// টেক্সট রান সেট করা
XSLFTextRun textRun = paragraph.addNewTextRun();
textRun.setText("Hello, Apache POI with Text Alignment!");
// টেক্সট ফরম্যাটিং
textRun.setFontSize(24.0); // ফন্ট সাইজ
textRun.setBold(true); // বোল্ড
textRun.setItalic(true); // ইটালিক
// PowerPoint ফাইল সংরক্ষণ করা
try (FileOutputStream out = new FileOutputStream("formatted_presentation.pptx")) {
ppt.write(out);
}
System.out.println("PowerPoint ফাইল তৈরি হয়েছে!");
}
}
TextParagraph.Alignment.LEFT
: বাম সজ্জিত টেক্সট।TextParagraph.Alignment.CENTER
: কেন্দ্র সজ্জিত টেক্সট।TextParagraph.Alignment.RIGHT
: ডান সজ্জিত টেক্সট।TextParagraph.Alignment.JUSTIFY
: পুরো লাইনের জন্য টেক্সট সজ্জিত করা।এই কোডে, আমরা টেক্সট বক্সের মধ্যে একটি প্যারাগ্রাফ তৈরি করেছি এবং তার জন্য সেন্টার অ্যালাইনমেন্ট সেট করেছি। আপনি চাইলে LEFT
, RIGHT
, বা JUSTIFY
আলাইনমেন্টও ব্যবহার করতে পারেন।
আপনি প্রতিটি প্যারাগ্রাফের ফরম্যাটও কাস্টমাইজ করতে পারেন:
paragraph.setIndentLevel(1); // প্রথম লাইন ইন্ডেন্টেশন
paragraph.setLineSpacing(20.0); // লাইনের মাঝে স্পেস
HSLF মডিউলটি পুরোনো .ppt
ফাইল ফরম্যাটের জন্য ব্যবহৃত হয়। এটি ব্যবহারের জন্য একইভাবে টেক্সট অ্যালাইনমেন্ট এবং প্যারাগ্রাফ ফরম্যাটিং করতে পারেন।
import org.apache.poi.hslf.usermodel.HSLFSlideShow;
import org.apache.poi.hslf.usermodel.HSLFSlide;
import org.apache.poi.hslf.usermodel.HSLFTextBox;
import org.apache.poi.hslf.usermodel.HSLFTextParagraph;
import org.apache.poi.hslf.usermodel.HSLFTextRun;
import java.awt.Rectangle;
import java.io.FileOutputStream;
import java.io.IOException;
public class PowerPointTextFormattingHSLF {
public static void main(String[] args) throws IOException {
// নতুন PowerPoint .ppt ফাইল তৈরি
HSLFSlideShow ppt = new HSLFSlideShow();
// একটি স্লাইড তৈরি করা
HSLFSlide slide = ppt.createSlide();
// স্লাইডে টেক্সট বক্স তৈরি করা
HSLFTextBox textBox = new HSLFTextBox();
textBox.setBounds(new Rectangle(100, 100, 400, 200));
slide.addShape(textBox);
// প্যারাগ্রাফ ফরম্যাটিং সেট করা
HSLFTextParagraph paragraph = textBox.addNewTextParagraph();
paragraph.setAlignment(HSLFTextParagraph.Alignment.CENTER); // টেক্সট সেন্টার অ্যালাইনমেন্ট
// টেক্সট রান সেট করা
HSLFTextRun textRun = paragraph.addNewTextRun();
textRun.setText("Hello, Apache POI with Text Alignment!");
// টেক্সট ফরম্যাটিং
textRun.setFontSize(24.0); // ফন্ট সাইজ
textRun.setBold(true); // বোল্ড
textRun.setItalic(true); // ইটালিক
// PowerPoint .ppt ফাইল সংরক্ষণ করা
try (FileOutputStream out = new FileOutputStream("formatted_presentation.ppt")) {
ppt.write(out);
}
System.out.println("PowerPoint .ppt ফাইল তৈরি হয়েছে!");
}
}
এই কোডের মাধ্যমে .ppt
ফাইলের জন্যও একই ধরনের টেক্সট অ্যালাইনমেন্ট এবং ফরম্যাটিং কাস্টমাইজ করা হয়।
অ্যাপাচি পিওআই (Apache POI) PowerPoint ফাইলের টেক্সট অ্যালাইনমেন্ট এবং প্যারাগ্রাফ ফরম্যাটিং করার জন্য শক্তিশালী টুল। XSLF (নতুন .pptx
ফাইল) এবং HSLF (পুরোনো .ppt
ফাইল) উভয় মডিউলই টেক্সট অ্যালাইনমেন্ট এবং প্যারাগ্রাফ ফরম্যাটিংয়ের জন্য কাস্টমাইজেশনের অনেক অপশন প্রদান করে। আপনি বিভিন্ন প্রোপার্টি যেমন টেক্সট সাইজ, বোল্ড, ইটালিক, অ্যালাইনমেন্ট, লাইনের স্পেসিং এবং ইনডেন্টেশন ব্যবহার করে আপনার PowerPoint ফাইলটিকে প্রয়োজনমতো সাজাতে পারবেন।
common.read_more